---
title: clsAttorneySchedule
summary: API reference for clsAttorneySchedule.
status: draft
owner: SAIF Case Management team
last_reviewed: 2026-08-21
library: SAIF.Business.Claim.Legal
reference_type: embedded
---

# clsAttorneySchedule

`clsAttorneySchedule` represents one attorney schedule or time-off row, including the attorney, reason code, duration code, and effective/expiration dates that define the absence window.* Saving the row also pushes an out-of-office appointment update through `clsAssignmentProcess`, so the business object coordinates both table persistence and appointment synchronization.

## Purpose
- Stores one attorney schedule entry with its reason, duration, and date range.
- Supplies lookup-backed schedule-type and employee data, validates future-dated ranges, and synchronizes the saved row to the appointment integration.

## Context
- Namespace: `SAIF.Business.Claim.Legal.TableMaint`
- Assembly/package: `SAIF.Business.Claim.Legal`

## Public members

| Member | Kind | Type | Purpose |
|---|---|---|---|
| AttorneyScheduleSeqNum | Property | `Decimal` | Unique sequence number for the `ATTORNEY_SCHEDULE` row. |
| EffectiveDate | Property | `Date` | Date the row becomes effective. |
| ExpirationDate | Property | `Date` | Date the row stops applying; when cleared, the row remains open-ended. |
| ExpirationDateSort | Property | `Date` | Non-null helper value used when list views sort by expiration date. |
| AttorneyScheduleTypeCode | Property | `String` | Code identifying the schedule reason or absence type. |
| ScheduleType | Read-only property | `List(Of CodeTableInfo(Of String))` | Lookup list of attorney-schedule reason codes available for selection. |
| ScheduleEmployeeID | Property | `String` | Employee ID of the attorney whose schedule is being maintained. |
| ScheduleAttorney | Read-only property | `clsEmployeeData` | Employee-data record resolved for `ScheduleEmployeeID`. |
| AttorneyName | Property | `String` | Display name resolved for the selected attorney. |
| DurationCode | Property | `String` | Duration code used when translating the row into AM, PM, or full-day out-of-office time. |
| Create() | Protected Method | `—` | Obtains the next `ATTORNEY_SCHEDULE_SEQ` value for a new attorney-schedule row. |
| BeforeRetrieve(inPortalRequest As IPortalRequest) | Protected Method | `—` | Builds the retrieve request used to load this attorney schedule row. |
| AfterRetrieve(inPortalRequest As IPortalRequest) | Protected Method | `IBusinessObject` | Copies the retrieved result-set row into this attorney schedule row and marks it as persisted. |
| BeforeInsert(inPortalRequest As IPortalRequest) | Protected Method | `—` | Adds the current field values to the insert request for `ATTORNEY_SCHEDULE`. |
| AfterInsert(InPortalRequest As IPortalRequest) | Protected Method | `—` | Verifies that one row was inserted and marks the object persisted; records an error when the insert fails. |
| BeforeUpdate(inPortalRequest As IPortalRequest) | Protected Method | `—` | Adds the current field values to the update request for `ATTORNEY_SCHEDULE`. |
| AfterUpdate(InPortalRequest As IPortalRequest) | Protected Method | `—` | Verifies that one row was updated and marks the object persisted; records a contention error when the update fails. |
| BeforeDelete(inPortalRequest As IPortalRequest) | Protected Method | `—` | Builds the delete request for `ATTORNEY_SCHEDULE` using this row's key values. |
| AfterDelete(InPortalRequest As IPortalRequest) | Protected Method | `—` | Verifies that one row was deleted and resets the object to a new state; records a contention error when the delete fails. |
| OnSave() | Protected Method | `—` | Synchronizes the schedule row to the appointment integration by creating, updating, or deleting the corresponding out-of-office entry. |
| Load(inDataPortalInfo As IDataPortalInfo, Row As clsResultSet.DataRow) | Protected Friend Method | `—` | Loads this attorney schedule row from a retrieved `clsResultSet.DataRow` and attaches criteria/data-portal state. |
| New() | Protected Friend Constructor | `—` | Framework constructor used when the data portal creates or materializes an instance. |
| New(inDataPortalInfo As IDataPortalInfo) | Protected Friend Constructor | `—` | Framework constructor that prepares the instance with data-portal context before creation or loading. |
| NewAttorneySchedule(inDataportal As IDataPortalInfo) | Shared Method | `clsAttorneySchedule` | Creates a new unsaved attorney schedule row through the data portal so framework initialization runs. |
| AddBusinessRules() | Protected Method | `—` | Registers rules requiring an attorney, schedule reason, duration, future effective/expiration dates, and an expiration date on or after the effective date. |

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources

- `SAIF.Business.Claim.Legal\TableMaint\clsAttorneySchedule.vb`
